package meiju;

public class Test02 {
    private static int nums[] = {1,2,3,4,5}; //全排列需要用到的数字
    private static boolean isUsed[] = new boolean[20]; //记录第i个数字有没有使用过
    private static int res[] = new int[20]; //记录一次全排列的结果
    public static void dfs(int start,int end){
        if(start == end){
            for (int i = 0; i < end; i++) {
                System.out.print(res[i]);
            }
            System.out.println();
        }
        for (int i = 0; i < end; i++) {
            //判断这个数字是否用过
            if(isUsed[i] == false){
                res[start] = nums[i];
                isUsed[i] = true;
                dfs(start+1,end);
                isUsed[i] = false;
            }
        }
    }

    public static void main(String[] args) {
        // 给出n个数，求全排列（按顺序输出 ）
        dfs(0,4);
    }
}
